# factorial(阶乘)
# 求任意数的阶乘
def factorial(num):
    start = 1
    for i in range(1,num+1) :
        start *= i  
    return start
print(factorial(8))
# 递归的思想将一个大问题分解为一个个小问题，直到无法解决时再去解决
# 1.基线条件
#  -问题被分解为最小问题，当满足基线条件时函数就不再执行
# 2.递归条件
#  -将问题继续分解的条件
#  求任意数的阶乘递归方法
def factorial2(n):
    if n == 1 :
        result = 1
    else :
        result = n * factorial2((n-1))
    return result
print(factorial2(12))

